FAIR Data/Script Management and Sharing

Git, GitHub and RStudio

Liberty Mlambo

University of Nottingham

Introduction

FAIR

FAIR Principles

What is FAIR Data?

  • Findable
  • Accessible
  • Interoperable
  • Reusable

Interoperable and Reusable

  • Interoperable: Data can be used by different systems and software
  • Reusable: Data can be used by different people

FAIR in R and RStudio

  • project folder to organise your work
  • consistent naming convention for your files
  • renv() to manage your R packages
  • here() to manage your file paths

renv() package

  • renv is a package that helps you create reproducible projects by managing the versions of your R packages
  • renv creates a local library of packages that are specific to your project
  • renv creates a lockfile that contains the versions of all the packages used in your project

here() package

  • here() is a package that helps you manage your file paths
  • here() allows you to use relative paths to your project folder
  • here() allows you to use the same code on different computers

Sharing files

  • Emailing files is not a good idea
  • Cannot track changes
  • Cannot share with multiple people
  • Not secure

Git and GitHub

Why use GIT and GitHub to collaborate?

Git

Open source

Tracks file changes

Branch based non-linear workflows

IDE intergration

Speed of work

Local environment

Fremium Repository based

  • Fremium cloud based version control using Git
  • Repository based (Projects)

Built-in security

File History Tracking

Unlimited Public/ Private Repositories

Track issues and task progress

Track issues and task progress

Lessons learnt

Cloud storage and collaboration very important and a key focus area

Reproducibility through version tracking is fundamental

Choose tools carefully to avoid security lapses

CTRL + ALT + SHIFT+F (Git Urgent)

Practical demonstration

Assumptions and Requirements

Assumptions

  • Computer (Mac, Windows, Linux, etc..) with administrative privileges
  • Software download and installation experience

Requirements

  • GitHub account
  • GitHub desktop
  • Git

Github signup

Github desktop download

Github desktop documentation

Git

Further reading

Further reading

Questions?